﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class ПроцедурыОбменаССайтом
	{
		//////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РЕГИСТРАЦИИ ИЗМЕНЕНИЙ ПО ПЛАНУ ОБМЕНА

		public object ПолучитьМассивУзловДляРегистрации(/*РегистрацияДляТоваров = Истина*/)
		{
			//МассивУзлов = Новый Массив();
			if(true/*РегистрацияДляТоваров*/)
			{
			}
			return null;
		}

		public void ЗарегистрироватьИзменения(/*Объект*/)
		{
			if(true/*Не ПараметрыСеанса.НаличиеОбменаССайтом*/)
			{
			}
			//ТипОбъекта = ТипЗнч(Объект);
			/*// Номенклатура и картинки
*/
			if(true/*ТипОбъекта = Тип("РегистрСведенийНаборЗаписей.ЗначенияСвойствОбъектов")*/)
			{
				//МассивУзлов = ПолучитьМассивУзловДляРегистрации(Истина);
			}
		}

		public void ВыполнитьАвтообмен(/*Настройка, ФлагАвтообмена = Истина*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(Настройка)*/)
			{
			}
			//ОбработкаОбмена = Обработки.ОбменССайтом.Создать();
			//ОбработкаОбмена.НастройкаСсылка = Настройка;
			/*//ОбработкаОбмена.Автообмен = ФлагАвтообмена;
*/
			//ОбработкаОбмена.ВыгрузитьДанные();
		}

		public void ПриЗаписиСправочникаОбменССайтомПриЗаписи(/*Источник, Отказ*/)
		{
			//ЗарегистрироватьИзменения(Источник);
		}

		public void ПриЗаписиРегистраСведенийОбменССайтомПриЗаписи(/*Источник, Отказ, Замещение*/)
		{
			//ЗарегистрироватьИзменения(Источник);
		}

		public void ПриЗаписиРегистраНакопленияОбменССайтомПриЗаписи(/*Источник, Отказ, Замещение*/)
		{
			//ЗарегистрироватьИзменения(Источник);
		}
		// сервисные функции для работы обмена

		public object РазобратьАдресСайта(/*Знач АдресСайта*/)
		{
			//АдресСайта = СокрЛП(АдресСайта);
			//HTTPСервер		 = "";
			//HTTPПорт		 = 0;
			//HTTPАдресСкрипта = "";
			if(true/*ЗначениеЗаполнено(АдресСайта)*/)
			{
				//АдресСайта = СтрЗаменить(АдресСайта, "\", "/");
				//АдресСайта = СтрЗаменить(АдресСайта, " ", "");
				//АдресСайта = СтрЗаменить(АдресСайта, "http://", "");
				//ПозицияСлэша = Найти(АдресСайта, "/");
				if(true/*ПозицияСлэша > 0*/)
				{
					//HTTPСервер 		 = Лев(АдресСайта, ПозицияСлэша - 1);
					//HTTPАдресСкрипта = Прав(АдресСайта, СтрДлина(АдресСайта) - ПозицияСлэша);
				}
				//ПозицияДвоеточия = Найти(HTTPСервер, ":");
				if(true/*ПозицияДвоеточия > 0*/)
				{
					//HTTPСерверСПортом = HTTPСервер;
					//HTTPСервер		  = Лев(HTTPСерверСПортом, ПозицияДвоеточия - 1);
					//HTTPПортСтрока 	  = Прав(HTTPСерверСПортом, СтрДлина(HTTPСерверСПортом) - ПозицияДвоеточия);
				}
			}
			//СтруктураРезультата = Новый Структура;
			//СтруктураРезультата.Вставить("HTTPСервер"	  , HTTPСервер);
			//СтруктураРезультата.Вставить("HTTPПорт"		  , HTTPПорт);
			//СтруктураРезультата.Вставить("HTTPАдресСкрипта", HTTPАдресСкрипта);
			return null;
		}

		public object ВыполнитьТестовоеПодключениеКСерверуHTTP(/*Объект, СтрокаСообщенияПользователю, 
	РезультатСоединения = Неопределено, ТипСоединения = "catalog"*/)
		{
			//СтруктураПараметровСайта = ПолучитьСтруктуруПараметровДляСоединения(Объект, Объект.HTTPОбменАдресСайта);
			//Соединение = ПроцедурыОбменаССайтом.HTTPУстановитьСоединение(СтруктураПараметровСайта);
			if(true/*Соединение = Неопределено*/)
			{
			}
			//ОтветСервера = "";
			//РезультатСоединения = HTTPВыполнитьАвторизациюДляСоединения(Соединение, СтруктураПараметровСайта, ОтветСервера, СтрокаСообщенияПользователю, ТипСоединения);
			if(true/*Не РезультатСоединения*/)
			{
			}
			return null;
		}

		public object ПолучитьСтруктуруПараметровДляСоединения(/*Объект, Знач НачалоАдресаСкрипта = ""*/)
		{
			//СтруктураПараметровСайта = Новый Структура;
			//СтруктураПараметровСайта.Вставить("ИмяПользователя", Объект.HTTPОбменИмяПользователя);
			//СтруктураПараметровСайта.Вставить("Пароль"		   , Объект.HTTPОбменПароль);
			if(true/*Не ПустаяСтрока(НачалоАдресаСкрипта)*/)
			{
				//СтруктураАдреса = РазобратьАдресСайта(НачалоАдресаСкрипта);
				//HTTPОбменПорт = СтруктураАдреса.HTTPПорт;
				//HTTPОбменСервер = СтруктураАдреса.HTTPСервер;
				//НачалоАдресаСкрипта = СтруктураАдреса.HTTPАдресСкрипта;
				//СтруктураПараметровСайта.Вставить("АдресСкрипта", НачалоАдресаСкрипта);
				//СтруктураПараметровСайта.Вставить("Сервер"		, HTTPОбменСервер);
				//СтруктураПараметровСайта.Вставить("Порт"		, HTTPОбменПорт);
			}
			//СтруктураПараметровСайта.Вставить("ПроксиСервер"		 , Объект.HTTPОбменПроксиСервер);
			//СтруктураПараметровСайта.Вставить("ПроксиПорт"		     , Объект.HTTPОбменПроксиПорт);
			//СтруктураПараметровСайта.Вставить("ПроксиИмяПользователя", Объект.HTTPОбменПроксиИмяПользователя);
			//СтруктураПараметровСайта.Вставить("ПроксиПароль"		 , Объект.HTTPОбменПроксиПароль);
			//СтруктураПараметровСайта.Вставить("ПроксиИспользование"  , Объект.HTTPОбменПроксиИспользование);
			return null;
		}

		public object HTTPПолучитьДанныеССервера(/*Соединение, ПараметрыЗапроса="", Заголовки="", СтрокаСообщенияПользователю = ""*/)
		{
			//ОтветСервера   = Неопределено;
			//ИмяФайлаОтвета = ПолучитьИмяВременногоФайла();
			//ФайлОтвета = Новый Файл(ИмяФайлаОтвета);
			if(true/*ФайлОтвета.Существует()*/)
			{
				//ТекстОтвета = Новый ТекстовыйДокумент();
				//ТекстОтвета.Прочитать(ИмяФайлаОтвета);
				if(true/*ТекстОтвета.КоличествоСтрок()>0*/)
				{
					//ОтветСервера = ТекстОтвета.ПолучитьТекст();
				}
			}
			return null;
		}

		public object HTTPВыполнитьАвторизациюДляСоединения(/*Соединение, СтруктураПараметровСайта, 
	ОтветСервера, СтрокаСообщенияПользователю, ТипСоединения = "catalog"*/)
		{
			//Успешно    = Истина;
			//Состояние("Установка соединения с сервером...");
			//Соединение = ПроцедурыОбменаССайтом.HTTPУстановитьСоединение(СтруктураПараметровСайта);
			if(true/*Соединение = Неопределено*/)
			{
				//СтрокаСообщенияПользователю = "Не удалось установить соединение с сервером.";
			}
			//Состояние("Проверка имени пользователя и пароля...");
			//ОтветСервера = HTTPПолучитьДанныеССервера(Соединение, СтруктураПараметровСайта.АдресСкрипта + "?type=" + ТипСоединения + "&mode=checkauth");
			if(true/*ОтветСервера = Неопределено*/)
			{
				//СтрокаСообщенияПользователю = "Не удалось установить соединение с сервером. Авторизация пользователя не выполнена." + Символы.ПС + ОписаниеОшибки();
			}
			if(true/*НРег(СтрПолучитьСтроку(ОтветСервера,1)) <> "success"*/)
			{
				//СтрокаСообщенияПользователю = "Не удалось установить соединение с сервером. Проверьте имя пользователя и пароль." + Символы.ПС + ОписаниеОшибки();
			}
			return null;
		}

		public object HTTPУстановитьСоединение(/*СтруктураПараметровСайта*/)
		{
			//Соединение = НеОпределено;
			//ИнтернетПрокси = НеОпределено;
			if(true/*СтруктураПараметровСайта.ПроксиИспользование*/)
			{
				//ИнтернетПрокси = Новый ИнтернетПрокси;
				//ИнтернетПрокси.Пользователь = СтруктураПараметровСайта.ПроксиИмяПользователя;
				//ИнтернетПрокси.Пароль		= СтруктураПараметровСайта.ПроксиПароль;
				if(true/*СтруктураПараметровСайта.ПроксиПорт = 0*/)
				{
					//ИнтернетПрокси.Установить("HTTP", СтруктураПараметровСайта.ПроксиСервер);
				}
			}
			//Порт = ?(ЗначениеЗаполнено(СтруктураПараметровСайта.Порт), СтруктураПараметровСайта.Порт, 80);
			return null;
		}

		public void НастроитьПостроительОтчета(/*ПостроительОбъект*/)
		{
			//МассивДопустимыхТиповНоменклатуры = Новый Массив;
			//МассивДопустимыхТиповНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Товар);
			/*//МассивДопустимыхТиповНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Услуга);
*/
			//ПостроительОбъект.Параметры.Вставить("МассивДопустимыхТиповНоменклатуры", МассивДопустимыхТиповНоменклатуры);
			/*ПостроительОбъект.Текст = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	Товары.НоменклатураСсылка КАК НоменклатураСсылка,
		|	Товары.НоменклатураСсылка.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
		|	Товары.НоменклатураСсылка.ЕдиницаХраненияОстатков КАК ЕдиницаДляШтрихКода,
		|	Товары.НоменклатураСсылка.ВидНоменклатуры.Наименование КАК ВидНоменклатуры,
		|	Товары.НоменклатураСсылка.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры,
		|	РегистрШтрихКоды.Штрихкод КАК ШтрихКод,
		|	Товары.ХарактеристикаСсылка КАК ХарактеристикаСсылка,
		|	ЗначенияСвойствХарактеристик.Свойство КАК ХарактеристикаСвойство,
		|	ЗначенияСвойствХарактеристик.Значение КАК ХарактеристикаЗначениеСвойства,
		|	Выбор Когда ЦеныНоменклатуры.Цена Есть NULL
		|		Тогда ЦеныНоменклатурыБезХарактеристики.ТипЦен
		|		Иначе ЦеныНоменклатуры.ТипЦен
		|	КОНЕЦ КАК ТипЦен,
		|	Выбор Когда ЦеныНоменклатуры.Цена Есть NULL
		|		Тогда ЦеныНоменклатурыБезХарактеристики.Валюта
		|		Иначе ЦеныНоменклатуры.Валюта
		|	КОНЕЦ КАК Валюта,
		|	Выбор Когда ЦеныНоменклатуры.Цена Есть NULL
		|		Тогда ЦеныНоменклатурыБезХарактеристики.Цена
		|		Иначе ЦеныНоменклатуры.Цена
		|	КОНЕЦ КАК Цена,
		|	Выбор Когда ЦеныНоменклатуры.Цена Есть NULL
		|		Тогда ЦеныНоменклатурыБезХарактеристики.ЕдиницаИзмерения
		|		Иначе ЦеныНоменклатуры.ЕдиницаИзмерения
		|	КОНЕЦ КАК ЕдиницаИзмеренияЦены,
		|	ЕстьNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕстьNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) + 
		|		ЕстьNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0) - ЕстьNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) -
		|		ЕстьNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0)	КАК Остаток,
		|   		
		|	ЗначенияСвойствОбъектов.Значение КАК СвойствоНоменклатурыЗначение,
		|	ЗначенияСвойствОбъектов.Свойство КАК СвойствоНоменклатуры
		|ИЗ
		|	(ВЫБРАТЬ
		|		Номенклатура.Ссылка КАК НоменклатураСсылка,
		|		Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаДляШтрихКода,
        |       ХарактеристикиНоменклатуры.Наименование КАК ХарактеристикаНаименование,
		|		ВЫБОР
		|			КОГДА ХарактеристикиНоменклатуры.Ссылка ЕСТЬ NULL 
		|				ТОГДА Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
		|			ИНАЧЕ ХарактеристикиНоменклатуры.Ссылка
		|		КОНЕЦ КАК ХарактеристикаСсылка
		|	ИЗ
		|		Справочник.Номенклатура КАК Номенклатура
		|			ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
		|			ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
		|	ГДЕ
		|		Номенклатура.ЭтоГруппа = ЛОЖЬ
		|		И Номенклатура.ВидНоменклатуры.ТипНоменклатуры В(&МассивДопустимыхТиповНоменклатуры)
		|	{ГДЕ
		|		Номенклатура.Ссылка.* КАК Номенклатура}) КАК Товары
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствХарактеристик
		|			ПО ЗначенияСвойствХарактеристик.Объект = Товары.ХарактеристикаСсылка
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК РегистрШтрихКоды
		|			ПО Товары.НоменклатураСсылка = РегистрШтрихКоды.Владелец
		|				И Товары.ХарактеристикаСсылка = РегистрШтрихКоды.ХарактеристикаНоменклатуры
		|				И Товары.ЕдиницаДляШтрихКода = РегистрШтрихКоды.ЕдиницаИзмерения
		|
		|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
		|			ЗначенияСвойствОбъектов.Объект КАК Объект,
		|			ЗначенияСвойствОбъектов.Свойство КАК Свойство,
		|			ЗначенияСвойствОбъектов.Значение КАК Значение
		|		ИЗ
		|			РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
		|		ГДЕ
		|			ЗначенияСвойствОбъектов.Свойство.НазначениеСвойства = Значение(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура)
		|		{ГДЕ
		|			ЗначенияСвойствОбъектов.Свойство КАК Свойство}) КАК ЗначенияСвойствОбъектов
		|
		|		ПО Товары.НоменклатураСсылка = ЗначенияСвойствОбъектов.Объект
		|
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, {(ТипЦен).*}) КАК ЦеныНоменклатуры
		|		ПО Товары.НоменклатураСсылка = ЦеныНоменклатуры.Номенклатура
		|			И Товары.ХарактеристикаСсылка = ЦеныНоменклатуры.ХарактеристикаНоменклатуры
		|
		| 		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, {(ТипЦен).*}) КАК ЦеныНоменклатурыБезХарактеристики
		|		ПО Товары.НоменклатураСсылка = ЦеныНоменклатурыБезХарактеристики.Номенклатура
		|			И ЦеныНоменклатурыБезХарактеристики.ХарактеристикаНоменклатуры = Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)		
		|
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыНаСкладахОстатки
		|		ПО Товары.НоменклатураСсылка = ТоварыНаСкладахОстатки.Номенклатура
		|			И Товары.ХарактеристикаСсылка = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
		|
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВРозницеОстатки
		|		ПО Товары.НоменклатураСсылка = ТоварыВРозницеОстатки.Номенклатура
		|			И Товары.ХарактеристикаСсылка = ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры
		|
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВНТТОстатки
		|		ПО Товары.НоменклатураСсылка = ТоварыВНТТОстатки.Номенклатура
		|			И Товары.ХарактеристикаСсылка = ТоварыВНТТОстатки.ХарактеристикаНоменклатуры
		|
		|       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВРезервеНаСкладахОстатки
		|		ПО Товары.НоменклатураСсылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура
		|			И Товары.ХарактеристикаСсылка = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры
		|
		|       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыКПередачеСоСкладовОстатки
		|		ПО Товары.НоменклатураСсылка = ТоварыКПередачеСоСкладовОстатки.Номенклатура
		|			И Товары.ХарактеристикаСсылка = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры
		|
		|ГДЕ Истина
		|{ГДЕ
		|	ЕстьNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕстьNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) + 
		|		ЕстьNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0) - ЕстьNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) -
		|		ЕстьNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) КАК Остаток}
		|ИТОГИ
		|	МАКСИМУМ(ЕдиницаИзмерения),
		|	МАКСИМУМ(ЕдиницаДляШтрихКода),
		|	МАКСИМУМ(ВидНоменклатуры),
		|	МАКСИМУМ(ТипНоменклатуры),
		|	МАКСИМУМ(ШтрихКод),
		|	МАКСИМУМ(ХарактеристикаЗначениеСвойства),
		|	МАКСИМУМ(ТипЦен),
		|	МАКСИМУМ(Валюта),
		|	МАКСИМУМ(Цена),
		|	МАКСИМУМ(ЕдиницаИзмеренияЦены),
		|	МАКСИМУМ(Остаток),
		|	МАКСИМУМ(СвойствоНоменклатурыЗначение)
		|ПО
		|	НоменклатураСсылка,
		|	ХарактеристикаСсылка,
		|	ХарактеристикаСвойство,
		|	СвойствоНоменклатуры
		|АВТОУПОРЯДОЧИВАНИЕ";*/
		}

		public void ЗаполнитьОтборПостроителя(/*ПостроительОбъект*/)
		{
			//ОтборКоличество = ПостроительОбъект.Отбор.Количество();
			//ПостроительОбъект.Отбор.Добавить("Номенклатура", , "Номенклатура");
			//ПостроительОбъект.Отбор.Добавить("ТипЦен", , "Тип цен");
			//ПостроительОбъект.ДоступныеПоля.ТипЦен.Представление = "Тип цен";
			//ПостроительОбъект.Отбор.Добавить("Склад", , "Остатки по складам");
			//ПостроительОбъект.ДоступныеПоля.Склад.Представление = "Остатки по складам";
			//ПостроительОбъект.Отбор.Добавить("Остаток", , "Остаток");
			//ПостроительОбъект.ДоступныеПоля.Остаток.Представление = "Остаток";
		}

		public void ЗаданиеОбменССайтом(/*КодНастройки*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(КодНастройки)*/)
			{
			}
			//НастройкаОбмена = Справочники.НастройкиОбменаССайтом.НайтиПоКоду(КодНастройки);
			if(true/*НЕ ЗначениеЗаполнено(НастройкаОбмена)*/)
			{
			}
			if(true/*НастройкаОбмена.ПометкаУдаления*/)
			{
			}
			//ВыполнитьАвтообмен(НастройкаОбмена, Истина);
		}

		public object ПолучитьЗаказыСОплатойИОтгрузкойПоКатегориям(/*МассивИзменений, МассивЗагруженныхДокументов*/)
		{
			//Запрос = Новый Запрос();
			//КоличествоЗаказовОграничения = МассивИзменений.Количество();
			//СтрокаОграниченияПоЗаказам = ?(КоличествоЗаказовОграничения = 0, "", ", ЗаказПокупателя В (&МассивДокументовСсылок) ");
			//СтрокаОграниченияПоРасчетам = ?(КоличествоЗаказовОграничения = 0, "", ", Сделка В (&МассивДокументовСсылок) ");
			/*Запрос.Текст =
		"ВЫБРАТЬ
		|		Заказ.Ссылка КАК ДокументСсылка,
		|		ВЫБОР
		|			КОГДА ЗаказыПокупателейОстатки.СуммаВзаиморасчетовОстаток ЕСТЬ NULL 
		|				ТОГДА ИСТИНА
		|			ИНАЧЕ ВЫБОР
		|					КОГДА ЗаказыПокупателейОстатки.СуммаВзаиморасчетовОстаток <= 0
		|						ТОГДА ИСТИНА
		|					ИНАЧЕ ЛОЖЬ
		|				КОНЕЦ
		|		КОНЕЦ КАК Отгружен,
		|		ВЫБОР
		|			КОГДА РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток ЕСТЬ NULL 
		|				ТОГДА ИСТИНА
		|			ИНАЧЕ ВЫБОР
		|					КОГДА РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток <= 0
		|						ТОГДА ИСТИНА
		|					ИНАЧЕ ЛОЖЬ
		|				КОНЕЦ
		|		КОНЕЦ КАК Оплачен,
		|		ВЫБОР
		|			КОГДА МАКСИМУМ(ЗаказыПокупателей.Регистратор.Дата) ЕСТЬ NULL 
		|				ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|			ИНАЧЕ МАКСИМУМ(ЗаказыПокупателей.Регистратор.Дата)
		|		КОНЕЦ КАК ДатаОтгрузки,
		|		ВЫБОР
		|			КОГДА МАКСИМУМ(ЗаказыПокупателей.Регистратор.Номер) ЕСТЬ NULL 
		|				ТОГДА 0
		|			ИНАЧЕ МАКСИМУМ(ЗаказыПокупателей.Регистратор.Номер)
		|		КОНЕЦ КАК НомерОтгрузки,
		|		ВЫБОР
		|			КОГДА МАКСИМУМ(РасчетыСКонтрагентами.Регистратор.Дата) ЕСТЬ NULL 
		|				ТОГДА ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
		|			ИНАЧЕ МАКСИМУМ(РасчетыСКонтрагентами.Регистратор.Дата)
		|		КОНЕЦ КАК ДатаОплаты,
		|		ВЫБОР
		|			КОГДА МАКСИМУМ(РасчетыСКонтрагентами.Регистратор.Номер) ЕСТЬ NULL 
		|				ТОГДА 0
		|			ИНАЧЕ МАКСИМУМ(РасчетыСКонтрагентами.Регистратор.Номер)
		|		КОНЕЦ КАК НомерОплаты
		|	ИЗ
		|	
		|		Документ.ЗаказПокупателя КАК Заказ
		|		Внутреннее СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
		|		  ПО  КатегорииОбъектов.Объект = Заказ.Ссылка
		|		  И КатегорииОбъектов.Категория = Значение(Справочник.КатегорииОбъектов.ЗаказСWEBСайта)
		|		  
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Остатки(" + СтрокаОграниченияПоЗаказам + ") КАК ЗаказыПокупателейОстатки
		|			ПО Заказ.Ссылка = ЗаказыПокупателейОстатки.ЗаказПокупателя
		|			
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами.Остатки(" + СтрокаОграниченияПоРасчетам + ") КАК РасчетыСКонтрагентамиОстатки
		|			ПО Заказ.Ссылка = РасчетыСКонтрагентамиОстатки.Сделка
		|			
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей КАК ЗаказыПокупателей
		|			ПО Заказ.Ссылка = ЗаказыПокупателей.ЗаказПокупателя
		|			И (ЗаказыПокупателей.ВидДвижения = Значение(ВидДвиженияНакопления.расход))
		|			
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКонтрагентами КАК РасчетыСКонтрагентами
		|			ПО Заказ.Ссылка = РасчетыСКонтрагентами.Сделка
		|			И (РасчетыСКонтрагентами.ВидДвижения = Значение(ВидДвиженияНакопления.расход))
		|";*/
			if(true/*КоличествоЗаказовОграничения > 0*/)
			{
				//Запрос.УстановитьПараметр("МассивДокументовСсылок", МассивИзменений);
				//Запрос.Текст = Запрос.Текст + " ГДЕ Заказ.Ссылка В (&МассивДокументовСсылок)";
			}
			/*Запрос.Текст = Запрос.Текст
		+ "
		|СГРУППИРОВАТЬ ПО
		|Заказ.Ссылка,
		|ЗаказыПокупателейОстатки.СуммаВзаиморасчетовОстаток,
		|РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток";*/
			//ТаблицаДокументов = Запрос.Выполнить().Выгрузить();
			return null;
		}
	}
}
